<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/plantillas/plantillaPrincipal.xhtml">
	<ui:define name="contenido">
		<f:view>
			<h:form id="formNuevaLetraPorPagar">
				<h:panelGrid columns="1" style="width:450px;margin: 0px auto;">
					<p:commandButton id="btnNuevoLetraPorPagar" action="#{MBLetraPorPagar.nuevo()}"
						value="AGREGAR LETRA POR PAGAR" ajax="false"/>
				</h:panelGrid>
			</h:form>

			<h:form id="formBusquedaLetra">
				<p:panel id="pnlBusquedaLetra" header="CONSULTAR LETRAS POR PAGAR" widgetVar="buscarLetraPorPagar" style="width:480px;margin: 5px auto">
					<p:panelGrid>
						<p:row>
							<p:column>
								<h:outputLabel id="lblProveedor" value="Proveedor" />
							</p:column>
							<p:column>
								<p:selectOneMenu id="cbxProveedor" style="width: 200px"
									value="#{BKLetraPorPagar.proveedorSeleccionado.id}"
									disabled="#{BKLetraPorPagar.comboProveedores eq null?'true':'false'}">
									<f:selectItems value="#{BKLetraPorPagar.comboProveedoresBusqueda}"/>
								</p:selectOneMenu>
							</p:column>
						</p:row>	
						<p:row>
							<p:column>
								<h:outputLabel id="lblEstado" value="Estado" />
							</p:column>
							<p:column>
								<p:selectOneMenu id="cbxEstadoLetra" style="width: 200px"
									value="#{BKLetraPorPagar.estadoSeleccionado}">
									<f:selectItems value="#{BKLetraPorPagar.comboEstadoLetrasBusqueda}"/>
								</p:selectOneMenu>
							</p:column>
						</p:row>
						<p:row>
							<p:column>
								<h:outputLabel id="lblTipoMoneda" value="Tipo de Moneda" />
							</p:column>
							<p:column>
								<p:selectOneMenu id="cbxTipomoneda" style="width: 200px"
									value="#{BKLetraPorPagar.tipoMonedaSeleccionado.id}"
									disabled="#{BKLetraPorPagar.comboTipoMonedas eq null?'true':'false'}">
									<f:selectItems value="#{BKLetraPorPagar.comboTipoMonedasBusqueda}"/>
								</p:selectOneMenu>
							</p:column>
						</p:row>
						<p:row>
							<p:column>
							 	<p:commandButton id="btnBuscarLetra" value="BUSCAR"
                                       icon="ui-icon-search"
                                       update=":formBusquedaLetra:pnlListarLetras,:msgs"
                                       actionListener="#{MBLetraPorPagar.buscarListaLetrasPorPagar}"
                                       oncomplete="resultadoListaLetraPorPagar.show();"
                                       ajax="true"
                                       style="font-size: 12px" />
							</p:column>
						</p:row>
					</p:panelGrid>
				</p:panel>
				<p:panel id="pnlListarLetras" header="Lista de Letras por Pagar"
							closable="true" style="width: 100%;margin: 10px auto"
							widgetVar="resultadoListaLetraPorPagar" visible="#{BKLetraPorPagar.listaLetrasPorPagar ne null}">
		
					<p:dataTable id="dataTablaLetrasPorPagar" var="letraPorPagar"
								value="#{BKLetraPorPagar.listaLetrasPorPagar}"
								widgetVar="listaLetras" editable="true"
								emptyMessage="No se encontraron letras disponibles"
								filteredValue="" rowIndexVar="rowIndex" paginator="true" rows="10"
								paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} 
			                                     {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}">
		
						 		<p:ajax event="rowEdit" listener="#{MBLetraPorPagar.onEdit}" update=":msgs" />  
						        <p:ajax event="rowEditCancel" listener="#{MBLetraPorPagar.onCancel}" update=":msgs" />
						        
						        
						        <p:columnGroup type="header">
						        	<p:row>
							        	<p:column headerText="Item" />
							        	<p:column headerText="Proveedor" />
							        	<p:column headerText="Nro. de Letra" />
							        	<p:column headerText="Estado" />
							        	<p:column headerText="Moneda" />
							        	<p:column headerText="Monto" />
							        	<p:column headerText="Fecha de Emision"/>
							        	<p:column headerText="Fecha de Vencimiento"/>
							        	<p:column headerText="Fecha de Cancelación"/>
							        	<p:column headerText="Acciones"/>
							        </p:row>	
						        </p:columnGroup>
		
								<p:column id="idColumnaNum" style="width:5%" styleClass="styleAlignCenterColumn">
									<h:outputText value="#{rowIndex+1}" />
								</p:column>
								
								<p:column id="idColumnaProveedor" style="width:20%" styleClass="styleAlignLeftColumn">
									<h:outputText value="#{letraPorPagar.proveedor.razonSocial}"/>
								</p:column>
								
								<p:column id="idColumnaNumLetra" style="width:10%" styleClass="styleAlignRightColumn">
									<h:outputText value="#{letraPorPagar.numeroLetra}" />
								</p:column>
		
								<p:column id="idColumnaDestinatario" style="width:9%" styleClass="styleAlignCenterColumn">
									<h:outputText value="#{letraPorPagar.estadoLetra eq 'C' ? 'Cancelado' : 'Por Cancelar'}"/>
								</p:column>
		
								<p:column id="idColumnaEstado" style="width:10%" styleClass="styleAlignCenterColumn" >
									<h:outputText value="#{letraPorPagar.tipoMoneda.nombre}" />
								</p:column>
		
								<p:column id="idColumnaMonto" style="width:10%" styleClass="styleAlignRightColumn">
									<h:outputText value="#{letraPorPagar.total}">
										<f:convertNumber pattern="#,##0" locale="#{BKLetraPorPagar.locale}"/>
									</h:outputText>
								</p:column>
 
 								<p:column id="idColumnaFechaEmision" style="width:10%" styleClass="styleAlignCenterColumn">
									<h:outputText value="#{letraPorPagar.fecEmision}">
										<f:convertDateTime type="date" pattern="dd-MM-yyyy"/>
									</h:outputText>
								</p:column>
 
								<p:column id="idColumnaFechaVencimiento" style="width:10%" styleClass="styleAlignCenterColumn">
									<p:cellEditor>
										<f:facet name="output"> 
											<h:outputText value="#{letraPorPagar.fecVencimiento}">
												<f:convertDateTime type="date" pattern="dd-MM-yyyy"/>
											</h:outputText>
										</f:facet>
										<f:facet name="input"> 
											<p:calendar id="calendarPopup" showOn="button" value="#{letraPorPagar.fecVencimiento}" pattern="dd/MM/yyyy" size="10" />
										</f:facet>	
									</p:cellEditor>
								</p:column>
								
								<p:column id="idColumnaFechaCancelacion" style="width:8%" styleClass="styleAlignCenterColumn">
									<h:outputText value="#{letraPorPagar.fecCancelacion}">
										<f:convertDateTime type="date" pattern="dd-MM-yyyy"/>
									</h:outputText>
								</p:column>
		
								<p:column id="idColumnaAcciones" style="width:15%" styleClass="styleAlignCenterColumn">
									<p:rowEditor rendered="#{letraPorPagar.fecCancelacion eq null}" />
	                                <p:commandButton icon="ui-icon-search" title="#{message['general.button.ver']}" actionListener="#{MBLetraPorPagar.detalle()}"
	                                				 oncomplete="dialogViewLetra.show()" update=":formBusquedaLetra:displayView" ajax="true">
	                                    <f:setPropertyActionListener value="#{letraPorPagar}" target="#{BKLetraPorPagar.letraSeleccionada}" />  
	                                </p:commandButton>  
	                               	<p:commandButton disabled="#{letraPorPagar.fecCancelacion ne null}" icon="ui-icon-circle-check" title="#{message['general.button.cancelacion']}" 
	                               					 oncomplete="confirmacionCancelacion.show()" update=":formBusquedaLetra:displayCancelacion">		 
	                                    <f:setPropertyActionListener value="#{letraPorPagar}" target="#{BKLetraPorPagar.letraSeleccionada}" />  
	                                </p:commandButton>
	                                <p:commandButton icon="ui-icon-circle-minus" title="#{message['general.button.anular']}" disabled="#{letraPorPagar.fecCancelacion ne null}"
	                                				 oncomplete="confirmacionAnulacion.show()" update=":formBusquedaLetra:displayAnulacion" >
	                                    <f:setPropertyActionListener value="#{letraPorPagar}" target="#{BKLetraPorPagar.letraSeleccionada}" />  
	                                </p:commandButton>
								</p:column>
		
					</p:dataTable>
				</p:panel>
				
				<p:blockUI block=":formBusquedaLetra:pnlListarLetras" trigger=":formBusquedaLetra:btnBuscarLetra">
					<p:graphicImage value="/recursos/imagenes/utilitarios/ajax-loader.gif" style="border:0;"/>Cargando...
				</p:blockUI>
				
				<p:dialog header="Confirmación"  modal="true" widgetVar="confirmacionCancelacion" styleClass="styleAlignCenterColumn"> 
			    	<h:panelGrid id="displayCancelacion" columns="2" cellpadding="4" style="margin:0 auto;"> 
			    		
			    		<h:outputText value="¿Esta seguro de registrar la cancelacion de la letra?" />	
			    		<h:outputText/>
			    		 
				        <p:commandButton value="Si" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" update=":formBusquedaLetra:pnlListarLetras"
				        				 actionListener="#{MBLetraPorPagar.cancelacion(BKLetraPorPagar.letraSeleccionada)}" ajax="true" 
				        				 oncomplete="confirmacionCancelacion.hide()"/>  
				        <p:commandButton value="No" styleClass="ui-confirmdialog-no" icon="ui-icon-close" oncomplete="confirmacionCancelacion.hide()"/>       
				    </h:panelGrid>    
			    </p:dialog >  
			    
				<p:dialog header="Confirmación"  modal="true" widgetVar="confirmacionAnulacion" styleClass="styleAlignCenterColumn"> 
			    	<h:panelGrid id="displayAnulacion" columns="2" cellpadding="4" style="margin:0 auto;"> 
			    		
			    		<h:outputText value="¿Esta seguro de anular la letra?" />	
			    		<h:outputText/>
			    		 
				        <p:commandButton value="Si" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" update=":formBusquedaLetra:pnlListarLetras"
				        				 actionListener="#{MBLetraPorPagar.anular(BKLetraPorPagar.letraSeleccionada)}" ajax="true" 
				        				 oncomplete="confirmacionAnulacion.hide()"/>  
				        <p:commandButton value="No" styleClass="ui-confirmdialog-no" icon="ui-icon-close" oncomplete="confirmacionAnulacion.hide()"/>       
				    </h:panelGrid>    
			    </p:dialog >  
			    
			    <p:dialog header="Detalle de Letra" modal="true" widgetVar="dialogViewLetra" width="550"> 
			    	<h:panelGrid id="displayView" columns="1" cellpadding="4" style="margin:0 auto;">
			    	
			    		<p:dataTable id="dataTableDetalleLetrasPorPagar" var="letraPorPagarDetalle"
								value="#{BKLetraPorPagar.listaDetalleLetra}" 
								emptyMessage="No se encontraron letras disponibles"
								rowIndexVar="rowIndex" >
								
								<p:columnGroup type="header">
						        	<p:row>
							        	<p:column headerText="Item" />
							        	<p:column headerText="Numero Factura" />
							        	<p:column headerText="Fecha Emision" />
							        	<p:column headerText="Sub Total" />
							        	<p:column headerText="Igv" />
							        	<p:column headerText="Total" />
							        </p:row>
							    </p:columnGroup>    	
								
								<p:column id="idColumnaDetalleNum" style="width:5%" styleClass="styleAlignCenterColumn">
									<h:outputText value="#{rowIndex+1}" />
								</p:column>
								
								<p:column id="idColumnaNumeroFactura" style="width:20%" styleClass="styleAlignRightColumn">
									<h:outputText value="#{letraPorPagarDetalle.idCompraFacturacion.numeroFactura}"/>
								</p:column>
								
								<p:column id="idColumnaFechaEmision" style="width:20%" styleClass="styleAlignCenterColumn">
									<h:outputText value="#{letraPorPagarDetalle.idCompraFacturacion.fecEmision}">
										<f:convertDateTime type="date" pattern="dd-MM-yyyy"/>
									</h:outputText>
								</p:column>
								
								<p:column id="idColumnaMontoSubTotal" style="width:20%" styleClass="styleAlignRightColumn">
									<h:outputText value="#{letraPorPagarDetalle.idCompraFacturacion.subTotal}">
										<f:convertNumber pattern="#,##0" locale="#{BKLetraPorPagar.locale}"/>
									</h:outputText>
								</p:column>
								
								<p:column id="idColumnaMontoIgv" style="width:20%" styleClass="styleAlignRightColumn">
									<h:outputText value="#{letraPorPagarDetalle.idCompraFacturacion.igv}">
										<f:convertNumber pattern="#,##0" locale="#{BKLetraPorPagar.locale}"/>
									</h:outputText>
								</p:column>
								
								<p:column id="idColumnaMontoTotal" style="width:20%" styleClass="styleAlignRightColumn">
									<h:outputText value="#{letraPorPagarDetalle.idCompraFacturacion.total}">
										<f:convertNumber pattern="#,##0" locale="#{BKLetraPorPagar.locale}"/>
									</h:outputText>
								</p:column>
								
			            </p:dataTable>                         
				        <p:commandButton value="Cerrar" styleClass="ui-confirmdialog-no" icon="ui-icon-close" oncomplete="dialogViewLetra.hide()"/>       
				    </h:panelGrid>    
			    </p:dialog > 
			    
			</h:form>
			
		</f:view>
	</ui:define>
	
</ui:composition>
</html>